<template>
	<view class="template-details tn-safe-area-inset-bottom">
		<!-- 顶部自定义导航 -->
		<tn-nav-bar fixed alpha customBack>
			<view slot="back" class='tn-custom-nav-bar__back' @click="goBack">
				<text class='icon tn-icon-left'></text>
				<text class='icon tn-icon-home-capsule-fill'></text>
			</view>
		</tn-nav-bar>

		<view class="" :style="{paddingTop: vuex_custom_bar_height + 'px'}">
			<!-- 图文信息 -->
			<block v-for="(item,index) in content" :key="index">
				<view class="blogger__item">
					<view class="blogger__author tn-flex tn-flex-row-between tn-flex-col-center">
						<view class="justify__author__info" @click="tn('/circlePages/blogger_other')">
							<view class="tn-flex tn-flex-row-center">
								<view class="tn-flex tn-flex-row-center tn-flex-col-center">
									<view class="">
										<tn-avatar class="" shape="circle" :src="item.avatar" size="lg">
										</tn-avatar>
									</view>
									<view class="tn-padding-right tn-text-ellipsis">
										<view class="tn-padding-right tn-padding-left-sm tn-text-bold tn-text-lg">
											{{ item.userName }}({{item.newUserId}})
										</view>
										<view
											class="tn-padding-right tn-padding-left-sm tn-padding-top-xs tn-color-gray">
											{{ item.createTime }}
										</view>
									</view>
								</view>
							</view>
						</view>
					</view>
					<view style="height: 5px;"></view>

					<view class="tn-padding-right tn-padding-left-sm tn-text-bold tn-text-lg">
						{{ item.title }}
					</view>
					<!-- 边距间隔 -->

					<view
						class="blogger__desc tn-margin-top-sm tn-margin-bottom-sm tn-text-justify tn-flex-col-center tn-flex-row-left">
						<view v-for="(label_item,label_index) in item.label" :key="label_index"
							class="blogger__desc__label tn-float-left tn-margin-right tn-bg-gray--light tn-round tn-text-sm tn-text-bold">
							<text class="blogger__desc__label--prefix">#</text>
							<text class="tn-text-df">{{ label_item }}</text>
						</view>
						<!-- 不用限制长度了，因为发布的时候限制长度了-->
						<p v-if="!item.label || item.label.length < 4"
							class="blogger__desc__content tn-flex-1 tn-text-justify tn-text-df" v-html="item.content">
						</p>
					</view>

					<showImg ref="showImg" :fileList="showImg.fileList" :disabled="showImg.disabled"
						:showUploadList="showImg.showUploadList" :showProgress="showImg.showProgress"
						:deleteable="showImg.deleteable" />

					<view class="tn-flex tn-flex-row-between tn-flex-col-center tn-margin-top-xs">
						<view class="justify-content-item tn-flex tn-flex-col-center">

							<text class="tn-color-gray">作者:{{ item.userName }}</text>
						</view>
						<view class="justify-content-item tn-color-gray tn-text-center">
							<view class="">
								<text class="blogger__count-icon tn-icon-footprint"></text>
								<text class="tn-padding-right">{{ item.readNum }}</text>
							</view>
						</view>
					</view>
				</view>

				<!-- 边距间隔 -->
				<!-- <view class="tn-strip-bottom" v-if="index != content.length - 1"></view> -->
			</block>
			<!-- 按钮-->
			<view class="tn-flex tn-flex-row-between" style="margin: 40rpx 0 60rpx 0;">
				<view class="tn-flex-1 justify-content-item tn-margin-xs tn-text-center">
					<tn-button backgroundColor="#00FFC6" padding="40rpx 0" width="90%" shadow fontBold>
						<text class="tn-icon-like-lack tn-padding-right-xs tn-color-black"></text>
						<text class="tn-color-black">点 赞</text>
					</tn-button>
				</view>
				<view class="tn-flex-1 justify-content-item tn-margin-xs tn-text-center">
					<tn-button backgroundColor="#FFF00D" padding="40rpx 0" width="90%" shadow fontBold
						open-type="share">
						<text class="tn-icon-share-triangle tn-padding-right-xs tn-color-black"></text>
						<text class="tn-color-black">分 享</text>
					</tn-button>
				</view>
			</view>

			<!-- 评论 -->
			<view class="tn-margin" style="padding-bottom: 120rpx;">
				<!-- 评论3-->
				<!-- 图标logo/头像 -->
				<view v-if="commentList.length != 0">
					<block v-for="(item, index) in commentList" :key="index" >
						<view class="tn-flex tn-flex-row-between tn-flex-col-center tn-margin-top-xl"
							@click="tn('/circlePages/blogger_other')">
							<view class="justify-content-item">
								<view class="tn-flex tn-flex-col-center tn-flex-row-left">
									<view class="logo-pic tn-shadow">
										<view class="logo-image">
											<view class="tn-shadow-blur"
												:style="{backgroundImage:'url('+item.avatar+');width: 60rpx;height: 60rpx;background-size: cover;'}">
											</view>
										</view>
									</view>
									<view class="tn-padding-right tn-padding-left-sm">
										<view class="tn-padding-right tn-text-df tn-text-bold tn-color-black">
											{{item.nickName}}
										</view>
										<view class="tn-padding-right tn-text-ellipsis tn-text-xs tn-color-gray">
											{{item.createTime}}
										</view>
									</view>
								</view>
							</view>
							<!-- 评论点赞 -->
							<!-- <view class="justify-content-item tn-flex-row-center tn-flex-col-center tn-color-gray">
							<view class="tn-text-center">
								<text class="tn-icon-like-lack tn-padding-xs"></text>
							</view>
							<view class="tn-text-center">
								<text class="tn-text-xs">43</text>
							</view>
						</view> -->
						</view>

						<view class="" style="margin: 20rpx 30rpx 30rpx 80rpx;">
							{{item.content}}
						</view>
					</block>
				</view>
				<view  v-if="commentList.length == 0">
					<p 
						class="blogger__desc__content tn-flex-1 tn-text-justify tn-text-df"  style="text-align: center;"> 暂无评论
					</p>
				</view>
			</view>


			<view class="tabbar footerfixed dd-glass">
				<view class="tn-flex tn-flex-row-between tn-flex-col-center">
					<view class="justify-content-item tn-margin-top">
						<view class="tn-flex tn-flex-row-center tn-flex-col-center">
							<view
								class="tn-flex tn-flex-row-center tn-flex-col-center tn-padding-right tn-padding-left-sm">
								<view class="avatar-all">
									<view class="tn-shadow-blur"
										:style="{backgroundImage:'url('+user.avatar+');width: 60rpx;height: 60rpx;background-size: cover;'}">
									</view>
								</view>
							</view>
							<view
								class="topic__info__item__input tn-flex tn-flex-direction-row tn-flex-nowrap tn-flex-col-center tn-flex-row-left">
								<view class="topic__info__item__input__left-icon">
									<view class="tn-icon-emoji-good"></view>
								</view>
								<view class="topic__info__item__input__content">
									<input maxlength="20" placeholder-class="input-placeholder" :cursor-spacing="18"
										v-model="comment" placeholder="不说点啥子吗？" />
								</view>
							</view>
						</view>
					</view>
					<view
						class="justify-content-item tn-flex-row-center tn-flex-col-center tn-margin-top tn-margin-right">
						<view class="topic__info__item__sure" @click="sendComment">
							<view class="tn-flex-1 justify-content-item tn-text-center">
								<tn-button shape="round" backgroundColor="tn-cool-bg-color-15--reverse" width="100%"
									shadow>
									<text class="tn-color-white" hover-class="tn-hover" :hover-stay-time="150">
										发 送
									</text>
								</tn-button>
							</view>
						</view>
					</view>
				</view>
			</view>
		</view>


	</view>
</template>

<script>
	import template_page_mixin from '@/libs/mixin/template_page_mixin.js'
	import showImg from '@/circlePages/showImgUpload.vue'
	import request from '@/common/request.js'

	export default {
		name: 'TemplateDetails',
		mixins: [template_page_mixin],
		components: {
			showImg
		},
		data() {
			return {
				content: [

				],
				res: "",
				showImg: {
					fileList: [],
					showUploadList: true,
					customBtn: false,
					autoUpload: false,
					showProgress: false,
					deleteable: false,
					customStyle: false,
					disabled: false,
				},
				user: {},
				comment: '',
				commentList: {}
			}
		},
		onLoad: function(option) {
			this.res = option.info
		},
		mounted() {
			this.loadData();
		},
		methods: {
			loadData() {

				//加载内容图片
				this.content.push(JSON.parse(this.res));
				for (let z = 0; z < this.content[0].imgs.length; z++) {
					let msgTemp = {};
					msgTemp.url = this.content[0].imgs[z]
					this.showImg.fileList.push(msgTemp);
				}

				//加载当前用户信息
				this.user = uni.getStorageSync("userinfo");
				
				//加载评论
				this.loadComment();
			},
			sendComment() {
				let token = uni.getStorageSync("token") || null;
				
				if(token == null){
					uni.showModal({
						title: '提示：',
						content: "请先登录！",
						success: function(res) {
							if (res.confirm) {
								uni.navigateTo({
									url: '/minePages/regist'
								});
							}
						}
					});
				}else{
					request.post("/xcx/comment", {
						"content": this.comment,
						"parentId": this.content[0].id,
						"state": 1
					}).then((res) => {
						this.loadComment();
					});
				}
			},
			loadComment() {
				//加载评论
				request.get("/xcx/comment/list", {
					"parentId": this.content[0].id,
				}).then((res) => {
					this.commentList = res.rows;
					console.log(this.commentList.length);
				});
			}



		}
	}
</script>

<style lang="scss" scoped>
	/* 胶囊*/
	.tn-custom-nav-bar__back {
		width: 100%;
		height: 100%;
		position: relative;
		display: flex;
		justify-content: space-evenly;
		align-items: center;
		box-sizing: border-box;
		background-color: rgba(0, 0, 0, 0.15);
		border-radius: 1000rpx;
		border: 1rpx solid rgba(255, 255, 255, 0.5);
		color: #FFFFFF;
		font-size: 18px;

		.icon {
			display: block;
			flex: 1;
			margin: auto;
			text-align: center;
		}

		&:before {
			content: " ";
			width: 1rpx;
			height: 110%;
			position: absolute;
			top: 22.5%;
			left: 0;
			right: 0;
			margin: auto;
			transform: scale(0.5);
			transform-origin: 0 0;
			pointer-events: none;
			box-sizing: border-box;
			opacity: 0.7;
			background-color: #FFFFFF;
		}
	}

	/* 文章内容 start*/
	.blogger {
		&__item {
			padding: 30rpx;
		}

		&__author {
			&__btn {
				margin-right: -12rpx;
				padding: 0 20rpx;
			}
		}

		&__desc {
			line-height: 55rpx;

			&__label {
				padding: 0 20rpx;
				margin: 0rpx 18rpx 0 0;

				&--prefix {
					color: #00FFC8;
					padding-right: 10rpx;
				}
			}

			&__content {}
		}

		&__content {
			margin-top: 18rpx;
			padding-right: 18rpx;

			&__data {
				line-height: 46rpx;
				text-align: justify;
				overflow: hidden;
				transition: all 0.25s ease-in-out;

			}

			&__status {
				margin-top: 10rpx;
				font-size: 26rpx;
				color: #82B2FF;
			}
		}

		&__main-image {
			border-radius: 16rpx;

			&--1 {
				max-width: 80%;
				max-height: 300rpx;
			}

			&--2 {
				max-width: 260rpx;
				max-height: 260rpx;
			}

			&--3 {
				height: 212rpx;
				width: 100%;
			}
		}

		&__count-icon {
			font-size: 40rpx;
			padding-right: 5rpx;
		}

		&__ad {
			width: 100%;
			height: 500rpx;
			transform: translate3d(0px, 0px, 0px) !important;

			::v-deep .uni-swiper-slide-frame {
				transform: translate3d(0px, 0px, 0px) !important;
			}

			.uni-swiper-slide-frame {
				transform: translate3d(0px, 0px, 0px) !important;
			}

			&__item {
				position: absolute;
				width: 100%;
				height: 100%;
				transform-origin: left center;
				transform: translate3d(100%, 0px, 0px) scale(1) !important;
				transition: transform 0.25s ease-in-out;
				z-index: 1;

				&--0 {
					transform: translate3d(0%, 0px, 0px) scale(1) !important;
					z-index: 4;
				}

				&--1 {
					transform: translate3d(13%, 0px, 0px) scale(0.9) !important;
					z-index: 3;
				}

				&--2 {
					transform: translate3d(26%, 0px, 0px) scale(0.8) !important;
					z-index: 2;
				}
			}

			&__content {
				border-radius: 40rpx;
				width: 640rpx;
				height: 500rpx;
				overflow: hidden;
			}

			&__image {
				width: 100%;
				height: 100%;
			}
		}
	}

	/* 文章内容 end*/

	/* 间隔线 start*/
	.tn-strip-bottom {
		width: 100%;
		border-bottom: 5rpx solid rgba(241, 241, 241, 0.8);
	}

	/* 间隔线 end*/

	/* 头像 start */
	.logo-image {
		width: 60rpx;
		height: 60rpx;
		position: relative;
	}

	.logo-pic {
		background-size: cover;
		background-repeat: no-repeat;
		// background-attachment:fixed;
		background-position: top;
		box-shadow: 0rpx 0rpx 80rpx 0rpx rgba(0, 0, 0, 0.15);
		border-radius: 50%;
		overflow: hidden;
		// background-color: #FFFFFF;
	}


	/* 底部 start*/
	.footerfixed {
		position: fixed;
		width: 100%;
		bottom: 0;
		z-index: 999;
		background-color: rgba(255, 255, 255, 0.5);
		box-shadow: 0rpx 0rpx 30rpx 0rpx rgba(0, 0, 0, 0.07);
	}

	.tabbar {
		align-items: center;
		min-height: 130rpx;
		padding: 0;
		height: calc(130rpx + env(safe-area-inset-bottom) / 2);
		padding-bottom: calc(30rpx + env(safe-area-inset-bottom) / 2);
		padding-left: 10rpx;
		padding-right: 10rpx;
	}

	/* 毛玻璃*/
	.dd-glass {
		width: 100%;
		backdrop-filter: blur(20rpx);
		-webkit-backdrop-filter: blur(20rpx);
	}

	/* 头像*/
	.avatar-all {
		width: 60rpx;
		height: 60rpx;
		border: 4rpx solid rgba(255, 255, 255, 0.05);
		border-radius: 50%;
		overflow: hidden;
		box-shadow: 0rpx 0rpx 80rpx 0rpx rgba(0, 0, 0, 0.15);
	}

	/* 内容*/
	.topic {
		position: relative;
		height: 100%;
		z-index: 1;
		margin-bottom: 120rpx;


		/* 表单信息 start */
		&__info {
			margin: 0 50rpx;
			margin-top: 105rpx;
			padding: 30rpx 51rpx;
			border-radius: 20rpx;
			background-color: rgba(255, 255, 255, 1);
			border: 2rpx solid rgba(255, 255, 255, 0.1);
			box-shadow: 0rpx 10rpx 50rpx 0rpx rgba(0, 3, 72, 0.1);

			&__item {

				&__input {
					width: 400rpx;
					height: 60rpx;
					border: 1rpx solid #C6D1D8;
					border-radius: 39rpx;

					&__left-icon {
						width: 10%;
						font-size: 44rpx;
						margin-left: 20rpx;
						margin-right: 5rpx;
						color: #C6D1D8;
					}

					&__content {
						width: 80%;
						padding-left: 10rpx;

						&--verify-code {
							width: 56%;
						}

						input {
							font-size: 30rpx;
							color: #78909C;
							// letter-spacing: 0.1em;
						}
					}

					&__right-icon {
						width: 10%;
						font-size: 34rpx;
						margin-right: 20rpx;
						color: #78909C;
					}

					&__right-verify-code {
						width: 34%;
						margin-right: 20rpx;
					}
				}

				&__button {
					width: 100%;
					height: 60rpx;
					text-align: center;
					font-size: 31rpx;
					font-weight: bold;
					line-height: 77rpx;
					// text-indent: 1em;
					border-radius: 100rpx;
					color: #FFFFFF;
					background-color: rgba(255, 255, 255, 0.2);
					// border: 2rpx solid #FFFFFF;
				}

				&__sure {
					height: 60rpx;
					width: 140rpx;
				}

			}
		}

		/* 表单信息 end */

		/* 内容 end */

	}

	/deep/.input-placeholder {
		font-size: 30rpx;
		color: #C6D1D8;
	}
</style>